package 第十三章final;

/*
 * java语言中的final关键字
 *       1、final是一个关键字，表示最终的，不可变的
 *       2、final修饰的类无法被继承
 *       3、final修饰的类无法被覆盖
 *       4、final一旦赋值不可重新赋值
 *       5、final修饰的实例变量,必须手动赋值
 *       6、final修饰的引用，一旦指向一个对象，则不能在指向另为的对象，
 *          且指向的对象无法被垃圾回收器回收
 *          *****final修饰的引用虽然指向某个对象之后不能指向其他对象，但是所指向的对象内部的内存是可以被修改的******
 *       7、final修饰的实例变量是不可变的，这种变量一般和static联合使用，被称为"常量"

 *
 * */
public class FinalTest01 {

    // final int s;
    //实例变量
    //实例变量有默认值，final修饰之后无法修改，所以无法定义
    //解决方法1
    final int a1 = 100;
    //解决方法2

    final int a2;

    public FinalTest01() {
        a2 = 200;
    }

    public static void main(String[] args) {
        final int a = 100;
        // a=200;
        // final修饰的变量不能修改

        final int age;

    }
}
